package com.itheima.chapter06.innerclass.test3;

public class Test2 {
    /*
        调用接口中方法步骤
        1.创建实现类
        2.重写方法
        3.创建实现类对象
        4.调用重写后的方法

        匿名内部类：1.创建实现类2.重写方法3.创建实现类对象  三步合一
            解释：实现了Inter接口的一个实现类对象
            前提条件：需要存在类\接口
            new 接口/类名(){
                重写方法
            }
     */

    public static void main(String[] args) {
        InterImpl ii=  new InterImpl();
        ii.show();

        new Inter(){
            @Override
            public void show() {
                System.out.println("匿名内部类重写show方法");
            }
        }.show();


        //情况：接口中存在多个方法
        //解决办法：使用父接口指向子类对象（多态形式）
        Inter2 i=new Inter2(){

            @Override
            public void show1() {
                System.out.println("show1---");
            }

            @Override
            public void show2() {
                System.out.println("show2...");

            }
        };
        i.show1();
        i.show2();

    }
}

interface Inter{
    void show();
}
 interface  Inter2{
    void show1();
    void show2();
 }

class InterImpl implements Inter{
    @Override
    public void show() {
        System.out.println("InterImpl 重写内部类SHOW");
    }
}